#ifndef SHAREDDIR_H
#define SHAREDDIR_H

#include <string>
#include <QObject>

class SharedDir : public QObject{
    Q_OBJECT

    /** Путь к локальному каталогу.*/
    Q_PROPERTY(QString localPath READ localPath WRITE setLocalPath NOTIFY localPathChange)
    /** Имя расшаренного каталога в сети.*/
    Q_PROPERTY(QString sharedName READ sharedName WRITE setSharedName NOTIFY sharedNameChange)
private:
    /** Путь к локальному каталогу.*/
    QString m_localPath;
    /** Имя расшаренного каталога в сети.*/
    QString m_shaedName;
public:
    explicit SharedDir(const QString & localPath, const QString & sharedName, QObject *parent = 0);
    explicit SharedDir(const std::string & localPath, const std::string & sharedName, QObject *parent = 0);

    /** Путь к локальному каталогу.*/
    const QString & localPath() const;
    /** Установить путь к локальному каталогу.*/
    void setLocalPath(const QString & localPath);
    /** Имя расшаренного каталога в сети.*/
    const QString & sharedName() const;
    /** Установить имя расшаренного каталога в сети.*/
    void setSharedName(const QString & sharedName);
signals:    
    /** Изменился путь к локальному каталогу.*/
    void localPathChange();
    /** Изменилось имя расшаренного каталога в сети.*/
    void sharedNameChange();
};

#endif // SHAREDDIR_H
